package com.alibaba.excel.metadata;

import java.util.List;
import java.util.Locale;

import com.alibaba.excel.converters.Converter;

import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

/**
 * 基本参数
 **/
@Getter
@Setter
@EqualsAndHashCode
public class BasicParameter {

    /**
     * 您只能选择 {@link BasicParameter#head} 和 {@link BasicParameter#clazz} 之一
     */
    private List<List<String>> head;

    /**
     * 您只能选择 {@link BasicParameter#head} 和 {@link BasicParameter#clazz} 之一
     */
    private Class<?> clazz;

    /**
     * 自定义类型转换覆盖默认值
     */
    private List<Converter<?>> customConverterList;

    /**
     * 是否自动修改内容（去除工作表名或内容的前后空格）
     * Automatic trim includes sheet name and content
     */
    private Boolean autoTrim;

    /**
     * 如果日期使用 1904 窗口，则为 true；如果使用 1900 日期窗口，则为 false。
     * true if date uses 1904 windowing, or false if using 1900 date windowing.
     *
     * default is false
     *
     * @return
     */
    private Boolean use1904windowing;

    /**
     * <code>Locale<code> 对象表示特定的地理、政治或文化区域。格式化日期和数字时使用此参数。
     * A <code>Locale</code> object represents a specific geographical, political, or cultural region. This parameter is used when formatting dates and numbers.
     */
    private Locale locale;

    /**
     * 是否使用科学格式。
     * Whether to use scientific Format.
     *
     * default is false
     */
    private Boolean useScientificFormat;
}
